From 36f49d79ffbd913a0eb0cc93079b56e0a9b8fa7f Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Tue, 2 Oct 2007 09:56:53 +0100 Subject: [PATCH] Fix external-device-migrate infinite loop. For some (yet) unknown reason extern-device-migrate is called twice, once with a missing domname argument. The following invocation loops forever: external-device-migrate -domname because "shift 2" never shifts ($# < 2) and $# is always 1. From: Pascal Bouchareine Signed-off-by: Keir Fraser --- tools/examples/external-device-migrate | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tools/examples/external-device-migrate b/tools/examples/external-device-migrate index c7c99afec3..a4113483a8 100644 --- a/tools/examples/external-device-migrate +++ b/tools/examples/external-device-migrate @@ -16,6 +16,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +set -x # This script is called by XenD for migration of external devices # It does not handle the migration of those devices itself, but @@ -57,11 +58,11 @@ function evaluate_params() stype="" while [ $# -ge 1 ]; do case "$1" in - -step) step=$2; shift 2;; - -host) host=$2; shift 2;; - -domname) domname=$2; shift 2;; - -type) typ=$2; shift 2;; - -subtype) stype=$2; shift 2;; + -step) step=$2; shift; shift;; + -host) host=$2; shift; shift;; + -domname) domname=$2; shift; shift;; + -type) typ=$2; shift; shift;; + -subtype) stype=$2; shift; shift;; -recover) recover=1; shift;; -help) ext_dev_migrate_usage; exit 0;; *) break;; -- 2.30.2